#ifndef QUEUE_H
#define QUEUE_H

// 队列节点
typedef struct QueueNode {
    int row;
    int col;
    struct QueueNode* next;
} QueueNode;

// 队列结构
typedef struct {
    QueueNode* front;  // 队首
    QueueNode* rear;   // 队尾
    int size;          // 队列大小
} Queue;

// 队列操作函数
void queue_init(Queue* queue);                    // 初始化队列
void queue_enqueue(Queue* queue, int row, int col); // 入队
int queue_dequeue(Queue* queue, int* row, int* col); // 出队
int queue_is_empty(Queue* queue);                 // 判断队列是否为空
void queue_free(Queue* queue);                    // 释放队列

#endif // QUEUE_H 